package com.mingserve.raw.service;

import com.mingserve.raw.domain.Equipment;
import com.mingserve.raw.domain.EquipmentConfig;
import com.mingserve.raw.domain.EquipmentRepair;
import com.mingserve.raw.domain.EquipmentThreshold;

import java.util.List;

/**
 * 设备管理Service接口
 *
 * @author lvwshuai
 * @date 2024-02-02
 */
public interface IEquipmentService
{
    /**
     * 批量新增或更新设备
     *
     * @param list 设备列表
     * @return 结果
     */
    Boolean batchEquipment(List<Equipment> list);

    /**
     * 查询设备列表
     *
     * @return 结果
     */
    List<Equipment> queryList();

    /**
     * 按编号查询设备
     *
     * @param equipmentCode
     * @return
     */
    Equipment getEquipmentByCode(String equipmentCode);

    /**
     * 按编号查询设备配置
     *
     * @param equipmentCode
     * @return
     */
    EquipmentConfig getEquipmentConfigByCode(String equipmentCode);

    /**
     * 更新设备采集配置
     *
     * @param equipmentCode
     * @return
     */
    Boolean updateEquipmentConfigByCode(EquipmentConfig equipmentCode);

    /**
     * 批量新增或更新配置信息
     *
     * @param list
     * @return
     */
    Boolean batchEquipmentConfig(List<EquipmentConfig> list);

    /**
     * 查询设备配置列表
     *
     * @return 结果
     */
    List<EquipmentConfig> queryConfigList();

    /**
     * 批量新增或更新维修信息
     *
     * @param list
     * @return
     */
    Boolean batchEquipmentRepair(List<EquipmentRepair> list);

    /**
     * 查询设备维修列表
     *
     * @return 结果
     */
    List<EquipmentRepair> queryRepairList();

    /**
     * 批量新增或更新设备阈值信息
     *
     * @param list
     * @return
     */
    Boolean batchEquipmentThreshold(List<EquipmentThreshold> list);

    /**
     * 查询设备阈值列表
     *
     * @return 结果
     */
    List<EquipmentThreshold> queryThresholdList();
}
